home *** CD-ROM | disk | FTP | other *** search
- /*
- File: NuBus.h
-
- Contains: NuBus I/O Interfaces
-
- Version: Technology: xxx Put version info here xxx
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __NUBUS__
- #define __NUBUS__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __SLOTS__
- #include <Slots.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- #if FOR_SYSTEM8_PREEMPTIVE
- /*
- *
- * kSpaceCode -
- *
- * Bitfield definitions for the "reg" and "assigned-adderesses"
- * properties found in the device portion of the NameRegistry
- *
- */
-
- enum {
- kSpaceCodeMask = 0x03000000,
- kSpaceCodeMem64 = 0x03000000,
- kSpaceCodeMem32 = 0x02000000,
- kSpaceCodeIO = 0x01000000,
- kSpaceCodeConfig = 0x00000000,
- kDeviceCodeMask = 0x000000FF
- };
-
- typedef UInt32 EncodeInt;
- struct EncodePhys {
- EncodeInt hi;
- EncodeInt mid;
- EncodeInt lo;
- };
- typedef struct EncodePhys EncodePhys;
-
- struct EncodeSize {
- EncodeInt hi;
- EncodeInt lo;
- };
- typedef struct EncodeSize EncodeSize;
-
- /*
- * PropertyReg & PropertyAssignedAddresses -
- *
- * The struct format definitions for the "reg" and
- * "assigned-addresses" NameRegistry properties.
- *
- */
- struct PropertyReg {
- EncodePhys phys;
- EncodeSize size;
- };
- typedef struct PropertyReg PropertyReg;
-
- struct MotherboardReg {
- EncodeInt base;
- EncodeInt length;
- };
- typedef struct MotherboardReg MotherboardReg;
-
- /*
- * Family service category and name declarations
- * (that's it for now)
- *
- */
-
- enum {
- kServiceCategoryNuBus = 'nbus'
- };
-
- #define kFamilyNameNuBus "\pNuBus"
-
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __NUBUS__ */
-
-